查看原文
其他

【新开源推荐 32】谷歌开源 TFGAN:轻量级生成对抗网络工具库

2017-12-15 开源最前线
开源最前线(ID:OpenSourceTop) 猿妹 编译

编译自:https://research.googleblog.com/2017/12/tfgan-lightweight-library-for.html


近日谷歌开源了 TFGAN,一个实现轻松训练和评估 GAN 的轻量级库。


轻量级库 TFGAN


授权协议:Apache

操作系统:C/C++ Python 

开发厂商:谷歌

Github:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/gan


TFGAN 简介


培训一个神经网络通常需要定义一个损失函数,告诉网络与目标的距离有多远。例如,图像分类网络经常会赋予一个损失函数,对它们给出错误判定进行分类;比如网络将一张狗的图片误标为猫,这将会造成很大的失误。然而,并不是所有的问题都具有易于定义的损失函数,尤其是涉及人类感知的问题,如图像压缩或文本转语音系统。


生成对抗网络(GAN),这是一种机器学习技术,可以改善应用中的许多问题,包括从文本生成图像,超分辨率和帮助机器人学习等操作提供解决方案。GAN 还引入了新的理论,为软件工程带来新的挑战,并且难以跟上 GAN 研究的步伐。


为使开发者更轻松地使用 GAN 进行实验,谷歌已经开源 TFGAN,这是一个实现轻松训练和评估 GAN 的轻量级库。它提供了训练 GAN 的基础组件,提供经过完整测试的损失函数和评估指标,并提供了易于使用的示例,这些示例突出了 TFGAN 的表达性和灵活性。同时还发布了一个教程,其中包含一个高级 API,帮助人们快速上手,可以快速获取有关数据的模型。


TFGAN 教程:https://github.com/tensorflow/models/blob/master/research/gan/tutorial.ipynb



TFGAN 组成部分


TFGAN 由以下几个独立存在的部分组成:


核心:提供训练 GAN 所需的主要基础设施。训练分四个阶段进行,每个阶段都可以通过自定义代码或使用 TFGAN 库调用来完成。


功能:很多常见的 GAN 操作和归一化技术可供使用,包括实例归一化和条件化(conditioning)。


损失:允许轻松利用已实现且经过完整测试的损失和惩罚机制进行实验,如 Wasserstein 损失、梯度惩罚、互信息惩罚等。


评估:使用 Inception Score 或 Frechet Distance 与预训练的 Inception 网络评估无条件生成模型。你还可以使用自己的预训练分类器获得更加具体的结果,或使用其他方法对条件生成模型进行评估。


示例和教程:从示例中可以学习如何使用 TFGAN 让 GAN 训练变得更简单,你也可以参考更复杂的示例来启动自己的项目。这些内容包括无条件和条件 GAN、InfoGAN、现有网络的对抗损失,以及图像到图像翻译。



上图显示图像压缩的对抗性损失的影响。第一行显示来自 ImageNet 数据集的图像补丁。中间一行显示了通过传统损失训练的图像压缩神经网络对图像进行压缩和解压的结果。最下面一行显示了来自传统损失和对抗性损失的网络的结果。GAN损失函数生成的图像更清晰细致,即使它们看起来不像原始图像。


TFGAN 使用方式


TFGAN 以几个重要的方式支持实验。它提供了简单的函数调用,涵盖了大部分的 GAN 用例,你可以通过几行代码就能在你的数据上运行模型,为覆盖更过 GAN 结构设计,它是以模块化的方式构建并且相互独立,你可以使用任何你想要的模块 - 丢失,评估,功能,培训等。


TFGAN 的轻量级设计也意味着您可以将其与其他框架一起使用,或使用原生 TensorFlow 代码。使用 TFGAN 编写的 GAN 模型很轻松获取未来的基础设施的改进,你也可以从大量已经实现的损失和功能中进行选择,而无需重新编写自己的模型。最后,代码经过了完整的测试,所以不必担心使用 GAN 库会经常出现的数字或统计错误。



大多数神经文本到语音(TTS)系统产生过平滑的频谱图。当应用于Tacotron TTS系统时,GAN可以重新创建一些逼真的纹理,从而减少最终音频中的伪影。


当你使用 TFGAN 时,使用的基础架构将与 Google 研究人员相同,你也可以在 GitHub 上做出自己的贡献,谷歌希望此举可以促进 ML 研究人员和用户之间的代码共享


附:新开源报道汇总

《【新开源报道 31】国内首套开源持续集成(CI) 解决方案 flow.ci 开源啦》

《【开源推荐 30】苹果开源领域又一深造:开源机器学习框架 Turi Create》

《【新开源推荐 29】AI开发者的福音:360公司宣布开源深度学习调度平台 XLearning!》

《【新开源推荐 28】百度正式开源 Linux 发行版 MesaLock Linux》

《【新开源报道 27】百度开源高性能 Python 分布式计算框架 Bigflow》

《【新开源报道 26】滴滴开源基于 Vue.js 的移动端组件库 cube-ui》

《【新开源报道 25】Google 开源 Docker 镜像差异分析工具 container-diff》

《【新开源报道 24】美团点评开源MySQL闪回工具 —— MyFlash》

《【新开源报道 23】IBM 推出首套开源现代化字体 —— IBM Plex》

《【新开源报道 22】Microsoft 开源用于 VS Code 的 Java Debugger》

《【新开源报道 21】阿里开源容器技术Pouch和P2P文件分发系统“蜻蜓”》

《【新开源报道 20】Uber正式开源其分布式跟踪系统Jaeger》

《【新开源报道 19】Uber与斯坦福大学开源深度概率编程语言Pyro》

《【新开源报道 18】谷歌开放内部工具 Colaboratory 来协助 AI 开发》

《【新开源报道 17】这波开源满分!清华大学开源网络嵌入的工具包 —— OpenNE

《【新开源报道 16】AI开发者福音!微软亚马逊联合发布深度学习库 Gloun》

《【新开源报道 15】谷歌发布量子开源软件,量子计算机对科学家免费开放 》

《【新开元报道 14】微软开源用于Spark的深度学习库MMLSpark》

《【新开源报道 13】Facebook 开源帮助开发者消灭最顽固的软件 bug 的工具》

《【新开源报道 12】不只是阿里巴巴的操作系统,AliOS 宣布开源》

《【新开源报道 11】重磅!阿里巴巴正式开源全球化OpenMessaging和ApsaraCache项目》

《【新开源报道 10】IBM 和谷歌等巨头联手为开发者推出开源容器安全工具Grafeas》

《【新开源报道 9】Google开源Abseil,为C++和Python开发提供支持》

《【新开源报道 8】serverless 领域的福音!Oracle 宣布开源 Fn project》

《【新开源报道 7】苹果在 GitHub 上公布 macOS 和 iOS 内核源码》

《【新开源报道 6】百度开源移动端深度学习框架mobile-deep-learning(MDL)》

《【新开源报道 5】百度正式开源其 RPC 框架 brpc》

《【新开源报道 4】IBM 开源动态的应用服务器运行时环境 Open Liberty》

《【新开源报道 3】微信后台团队最近开源力作:PhxQueue分布式队列》

《【新开源报道 2】喜大普奔!阿里即将开源 ApsaraCache,云数据库 Redis 版分支》

【新开源报道 1】腾讯 Web UI 解决方案 QMUI Web 正式回迁开源》



●本文编号113,以后想阅读这篇文章直接输入113即可

●输入m获取文章目录


↓↓↓ 点击"阅读原文" 进入GitHub详情页 



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存